const readline = require('readline-sync');


// let users = [{
//         username: 'zhangsan',
//         money: 500,
//         password: 123,
//     },
//     {
//         username: 'lisi',
//         password: 456,
//         money: 1000
//     },
// ];
// //
// let flag = true;

// function login() {
//     while (flag) {
//         console.log('请输入账号');
//         let id = readline.question();
//         console.log('请输入密码');
//         let password = readline.question();
//         let result = users.filter(item => item.username == id && item.password == password);
//         if (result.length) {
//             flag = false;
//             return result[0];
//         } else {
//             console.log('查无此人,请重新登录');
//         }

//     }
// }

// function register() {
//     let login2 = true;
//     while (login2) {
//         console.log('请输入注册账号');
//         let username = readline.question();
//         let result = users.some(item => item.username == username);
//         if (result) {
//             console.log('账号已注册，请重新输入');
//         } else {
//             console.log('请输入注册密码');
//             let password = readline.question() - 0;
//             users.push({
//                 username,
//                 password,
//                 money:0
//             });
//             console.log(users);
//             login2 = false;
//             // break;
//         }
//     }
// }


// function save_money(user) {
//     console.log('请输入存钱金额');
//     let number = readline.question() - 0;
//     console.log(`${user.money += number}`);
// }


// function withdraw_money(user) {
//     console.log('请输入取钱金额');
//     let number = readline.question() - 0;
//     if (number > user.money) {
//         console.log('余额不足');
//     } else {
//         console.log(`${user.money -= number}`);
//     }
// }


// function transfer(user) {
//     console.log('请输入收款人名称：');
//     let id = readline.question();
//     let result = users.filter(item => item.username == id);
//     if (result.length) {
//         console.log('请输入转款金额：');
//         let money = readline.question() - 0;
//         if (money > user.money) {
//             console.log('余额不足');
//         } else {
//             user.money -= money;
//             result[0].money += money;
//             console.log(`您向${result[0].username}转款${money}元，您的余额为${user.money} ${result[0].username}余额为${result[0].money}`);
//         }
//     }
// }

// function main() {
//     let flag2 = true;
//     let atm = false;
//     let user = null;
//     while (flag2) {
//         console.log(users);
//         console.log('请选择1.登录 2.注册');
//         let opt = readline.question() - 0;
//         switch (opt) {
//             case 1:
//                 user = login();
//                 // console.log(user);
//                 flag2 = false;
//                 atm = true;
//                 break;
//             case 2:
//                 register();
//                 break;

//         }
//     }
//     if (atm) {
//         let flag3 = true;
//         while (flag3) {
//             console.log(`登录成功，欢迎你，${user.username} 请选择1. 存 2. 取 3. 查 4. 转账 5. 退`);
//             let opt = readline.question() - 0;
//             switch (opt) {
//                 case 1:
//                     save_money(user);
//                     break;
//                 case 2:
//                     withdraw_money(user);
//                     break;
//                 case 3:
//                     console.log('余额为：', user.money);
//                     break;
//                 case 4:
//                     transfer(user);
//                     break;
//                 case 5:
//                     console.log('886');
//                     flag3 = false;
//                     break;
//             }
//         }
//     }
// }
// main();


const number = ['3', '4', '5', '6', '7', '8', '9', '10', "J", "Q", "K", "A", '2'];
const flower = ["♠️", "♥️", "♣️", "♦️"]; // 黑桃 < 红心 < 梅花 < 方块
/*
    1. 54 张牌生成出来
    2. 打乱
    3. 3players 每人17张 1份底牌3张
    4. 排序 当点数（3，3）相等的时候，按花色排
*/
let arr = [];
for (let i = 0; i < number.length; i++) {
    for (let j = 0; j < flower.length; j++) {
        arr.push({
            str: number[i] + flower[j],
            number: i,
            flower: j,
        });
        // console.log(arr);
    }
}
// console.log(arr);

arr.push({
    str: '小鬼',
    number: 13,
    flower: 5
}, {
    str: '大鬼',
    number: 13,
    flower: 6
});

// 随机数装封
function random(min, max) {
    if (!max) {
        [max, min] = [min, 0];
    }
    let number = parseInt(Math.random(min, max) * (max - min + 1) + min);
    return number;
}

let s = new Set();
while (s.size < 54) {
    s.add(random(53));
}
let arr2 = [...s];
// console.log(arr2);

let arr3 = arr2.map(item => arr[item]);
// console.log(arr3);



let players_one = arr3.slice(0, 17);
let players_two = arr3.slice(17, 34);
let players_three = arr3.slice(34, 51);
let def = arr3.splice(51, 54);

function pokershummer(arr){
    let poker = arr.sort((a,b) =>{
        if(a.number == b.number){
            return a.flower - b.flower
        }else{
            return a.number - b.number;
        }
    });
    return poker;
    
}
pokershummer(players_one);

players_one = pokershummer(players_one).map(item => item.str);
players_two = pokershummer(players_two).map(item =>item.str);;
players_three = pokershummer(players_three).map(item => item.str);;
def = pokershummer(def).map(item => item.str);;

console.log('第一个的牌', players_one, players_one.length);
console.log('第二个的牌', players_two, players_two.length);
console.log('第三个的牌', players_three,players_three.length);
console.log(def);